<?php

class ClientesPeer extends BaseClientesPeer {

    /**
     * Comprueba si el cliente existe
     * @param string $dni
     * @param int $id
     * @return bool or Clientes object
     * @author Maximiliano Vicente
     */
    static public function clienteExiste($dni, $id=null) {

        $c = new Criteria();
        //Si id esta seteado, entonces se trata de una edicion
        if (!empty($id)) {
            $crit1 = $c->getNewCriterion(ClientesPeer::CLI_NRO_DOCUMENTO, $dni, Criteria::EQUAL);
            $crit2 = $c->getNewCriterion(ClientesPeer::CLI_ID, $id, Criteria::NOT_EQUAL);
            $crit1->addAnd($crit2);
            $c->add($crit1);
        } else {
            if (!empty($dni)) {
                $c->add(ClientesPeer::CLI_NRO_DOCUMENTO, $dni, Criteria::EQUAL);
            }
        }

        $cliente = ClientesPeer::doSelect($c);

        if (!empty($cliente)) {
            return true;
        } else {
            return false;
        }
    }

    static public function autocompletarClientePorNombre($q, $limit=10) {

        $criteria = new Criteria();
        $criteria->add(ClientesPeer::CLI_NOMBRE, $q . '%', Criteria::LIKE);
        $clientes = ClientesPeer::doSelect($criteria);

        $aClientes = array();
        foreach ($clientes as $cliente) {
            $aClientes[$cliente->getCliId()] = $cliente->getCliNombre();
        }

        if (empty($aClientes)) {
            $aClientes[null] = 'Sin resultados';
        }

        return $aClientes;
    }


        static public function autocompletarClientePorDocumento($q, $limit=10){

        $criteria = new Criteria();
        $criteria->add(ClientesPeer::CLI_NRO_DOCUMENTO, $q.'%',Criteria::LIKE);
        $clientes = ClientesPeer::doSelect($criteria);

        $aClientes = array();
        foreach($clientes as $cliente){
            $aClientes[$cliente->getCliId()]=$cliente->getCliNombre();

        }

        if(empty($aClientes)){
            $aClientes[null]='Sin resultados';
        }

        return $aClientes;

    }

}
